import java.util.Arrays;

public class Solution {
    public String minNumber(int[] nums) {
        String[] arrStr = new String[nums.length];
        for (int i = 0; i < nums.length; i ++) {
            arrStr[i] = String.valueOf(nums[i]);
        }
        /*这里很巧妙注意两点：
        * 1.思路把这个问题归为排序问题：把所有的数排序，也就找到了这些数组成的最小数，即排序的过程就是确定前后的过程
        * 2.关于sort涉及到字符串的时候要巧用compareTo，compareTo就是运用升序排列字符串*/
        Arrays.sort(arrStr, (x, y) -> (x + y).compareTo(y + x));
        StringBuilder strBder = new StringBuilder();
        for (String str : arrStr) {
            strBder.append(str);
        }
        return strBder.toString();
    }
}
